const EventEmitter = require('events'); //导入事件模块
const ev = new EventEmitter();          //创建一个事件对象
ev.on('event',()=>{                     //向事件对象的监听器添加事件回调
    console.log('event执行了');
});
function fun(){
    console.log("event执行了----fun");
}
ev.on('event',fun);
ev.once('event',()=>{
    console.log("event执行了----once回调任务");
});
ev.emit('event');                       //触发事件对象的监听器(注意这里是同步触发)，所以只能触发前面三个回调任务，并且会把once注册的回调任务在触发后删除
ev.on('event',()=>{                     //这个事件回调不会被前面的emit触发
    console.log("event执行了----4");
});
ev.emit('event');                       //这个触发的监听器会调用到“event执行了----4”，但前面once注册的任务不会触发了。
ev.off("event",fun);                    //删除ev事件对象上“event”注册的fun回调
ev.emit('event');                       //这里能触发的除once和off删除之外的回调